/* use 2^20 as bucket len */
#define BUCKET_LEN 1048576  

typedef struct bucket {
  struct bucket *next;  /* Link to next hashed bucket in this bucket. */
  int key;                      /* What we look up. */
  char *data;                   /* What we really want. */
  int count;                /* Number of times this item has been found. */
  int lock;     /* atomic lock for link head only */
} BUCKET;
